<?php
/*Issue # 2103 Usaepay payment interface
 * Created by:Hossam Fawzallah 12/8/2010
 * 
 * this is the adoaptor betwen our application and payment gateway
 */
if (!class_exists("AccountDetails")) {
/**
 * AccountDetails
 */
class AccountDetails {
	/**
	 * @access public
	 * @var string
	 */
	public $CardholderAuthentication;
	/**
	 * @access public
	 * @var string
	 */
	public $CheckPlatform;
	/**
	 * @access public
	 * @var string
	 */
	public $CreditCardPlatform;
	/**
	 * @access public
	 * @var boolean
	 */
	public $DebitCardSupport;
	/**
	 * @access public
	 * @var string
	 */
	public $DirectPayPlatform;
	/**
	 * @access public
	 * @var string
	 */
	public $Industry;
	/**
	 * @access public
	 * @var CurrencyObject[]
	 */
	public $SupportedCurrencies;
}}

if (!class_exists("Address")) {
/**
 * Address
 */
class Address {
	/**
	 * @access public
	 * @var string
	 */
	public $City;
	/**
	 * @access public
	 * @var string
	 */
	public $Company;
	/**
	 * @access public
	 * @var string
	 */
	public $Country;
	/**
	 * @access public
	 * @var string
	 */
	public $Email;
	/**
	 * @access public
	 * @var string
	 */
	public $Fax;
	/**
	 * @access public
	 * @var string
	 */
	public $FirstName;
	/**
	 * @access public
	 * @var string
	 */
	public $LastName;
	/**
	 * @access public
	 * @var string
	 */
	public $Phone;
	/**
	 * @access public
	 * @var string
	 */
	public $State;
	/**
	 * @access public
	 * @var string
	 */
	public $Street;
	/**
	 * @access public
	 * @var string
	 */
	public $Street2;
	/**
	 * @access public
	 * @var string
	 */
	public $Zip;
}}

if (!class_exists("Bank")) {
/**
 * Bank
 */
class Bank {
	/**
	 * @access public
	 * @var string
	 */
	public $Code;
	/**
	 * @access public
	 * @var string
	 */
	public $Name;
}}

if (!class_exists("BankArray")) {
/**
 * BankArray
 */
class BankArray {
}}

if (!class_exists("BatchSearchResult")) {
/**
 * BatchSearchResult
 */
class BatchSearchResult {
	/**
	 * @access public
	 * @var BatchStatus[]
	 */
	public $Batches;
	/**
	 * @access public
	 * @var integer
	 */
	public $BatchesMatched;
	/**
	 * @access public
	 * @var integer
	 */
	public $BatchesReturned;
	/**
	 * @access public
	 * @var integer
	 */
	public $Limit;
	/**
	 * @access public
	 * @var integer
	 */
	public $StartIndex;
}}

if (!class_exists("BatchStatus")) {
/**
 * BatchStatus
 */
class BatchStatus {
	/**
	 * @access public
	 * @var integer
	 */
	public $BatchRefNum;
	/**
	 * @access public
	 * @var string
	 */
	public $Closed;
	/**
	 * @access public
	 * @var double
	 */
	public $CreditsAmount;
	/**
	 * @access public
	 * @var integer
	 */
	public $CreditsCount;
	/**
	 * @access public
	 * @var double
	 */
	public $NetAmount;
	/**
	 * @access public
	 * @var string
	 */
	public $Opened;
	/**
	 * @access public
	 * @var double
	 */
	public $SalesAmount;
	/**
	 * @access public
	 * @var integer
	 */
	public $SalesCount;
	/**
	 * @access public
	 * @var string
	 */
	public $Scheduled;
	/**
	 * @access public
	 * @var integer
	 */
	public $Sequence;
	/**
	 * @access public
	 * @var string
	 */
	public $Status;
	/**
	 * @access public
	 * @var integer
	 */
	public $TransactionCount;
	/**
	 * @access public
	 * @var double
	 */
	public $VoidsAmount;
	/**
	 * @access public
	 * @var integer
	 */
	public $VoidsCount;
}}

if (!class_exists("BatchStatusArray")) {
/**
 * BatchStatusArray
 */
class BatchStatusArray {
}}

if (!class_exists("BatchUploadStatus")) {
/**
 * BatchUploadStatus
 */
class BatchUploadStatus {
	/**
	 * @access public
	 * @var integer
	 */
	public $Approved;
	/**
	 * @access public
	 * @var integer
	 */
	public $UploadRefNum;
	/**
	 * @access public
	 * @var integer
	 */
	public $Declined;
	/**
	 * @access public
	 * @var integer
	 */
	public $Errors;
	/**
	 * @access public
	 * @var string
	 */
	public $Finished;
	/**
	 * @access public
	 * @var integer
	 */
	public $Remaining;
	/**
	 * @access public
	 * @var string
	 */
	public $Started;
	/**
	 * @access public
	 * @var string
	 */
	public $Status;
	/**
	 * @access public
	 * @var integer
	 */
	public $Transactions;
}}

if (!class_exists("CheckData")) {
/**
 * CheckData
 */
class CheckData {
	/**
	 * @access public
	 * @var string
	 */
	public $Account;
	/**
	 * @access public
	 * @var string
	 */
	public $AccountType;
	/**
	 * @access public
	 * @var integer
	 */
	public $CheckNumber;
	/**
	 * @access public
	 * @var string
	 */
	public $DriversLicense;
	/**
	 * @access public
	 * @var string
	 */
	public $DriversLicenseState;
	/**
	 * @access public
	 * @var string
	 */
	public $RecordType;
	/**
	 * @access public
	 * @var string
	 */
	public $Routing;
	/**
	 * @access public
	 * @var string
	 */
	public $SSN;
}}

if (!class_exists("CheckTrace")) {
/**
 * CheckTrace
 */
class CheckTrace {
	/**
	 * @access public
	 * @var string
	 */
	public $Status;
	/**
	 * @access public
	 * @var string
	 */
	public $StatusCode;
	/**
	 * @access public
	 * @var string
	 */
	public $BankNote;
	/**
	 * @access public
	 * @var string
	 */
	public $Effective;
	/**
	 * @access public
	 * @var string
	 */
	public $Processed;
	/**
	 * @access public
	 * @var string
	 */
	public $Returned;
	/**
	 * @access public
	 * @var string
	 */
	public $ReturnCode;
	/**
	 * @access public
	 * @var string
	 */
	public $Reason;
	/**
	 * @access public
	 * @var string
	 */
	public $Settled;
	/**
	 * @access public
	 * @var string
	 */
	public $TrackingNum;
}}

if (!class_exists("CreditCardData")) {
/**
 * CreditCardData
 */
class CreditCardData {
	/**
	 * @access public
	 * @var string
	 */
	public $AvsStreet;
	/**
	 * @access public
	 * @var string
	 */
	public $AvsZip;
	/**
	 * @access public
	 * @var string
	 */
	public $CardCode;
	/**
	 * @access public
	 * @var string
	 */
	public $CardExpiration;
	/**
	 * @access public
	 * @var string
	 */
	public $CardNumber;
	/**
	 * @access public
	 * @var boolean
	 */
	public $CardPresent;
	/**
	 * @access public
	 * @var string
	 */
	public $CardType;
	/**
	 * @access public
	 * @var string
	 */
	public $CAVV;
	/**
	 * @access public
	 * @var string
	 */
	public $DUKPT;
	/**
	 * @access public
	 * @var integer
	 */
	public $ECI;
	/**
	 * @access public
	 * @var boolean
	 */
	public $InternalCardAuth;
	/**
	 * @access public
	 * @var string
	 */
	public $MagStripe;
	/**
	 * @access public
	 * @var string
	 */
	public $MagSupport;
	/**
	 * @access public
	 * @var string
	 */
	public $Pares;
	/**
	 * @access public
	 * @var string
	 */
	public $Signature;
	/**
	 * @access public
	 * @var string
	 */
	public $TermType;
	/**
	 * @access public
	 * @var string
	 */
	public $XID;
}}

if (!class_exists("CurrencyConversion")) {
/**
 * CurrencyConversion
 */
class CurrencyConversion {
	/**
	 * @access public
	 * @var double
	 */
	public $Amount;
	/**
	 * @access public
	 * @var integer
	 */
	public $Currency;
	/**
	 * @access public
	 * @var double
	 */
	public $FromAmount;
	/**
	 * @access public
	 * @var integer
	 */
	public $FromCurrency;
	/**
	 * @access public
	 * @var double
	 */
	public $Rate;
}}

if (!class_exists("CurrencyConversionArray")) {
/**
 * CurrencyConversionArray
 */
class CurrencyConversionArray {
}}

if (!class_exists("CurrencyObject")) {
/**
 * CurrencyObject
 */
class CurrencyObject {
	/**
	 * @access public
	 * @var string
	 */
	public $Currency;
	/**
	 * @access public
	 * @var integer
	 */
	public $DecimalPlaces;
	/**
	 * @access public
	 * @var integer
	 */
	public $NumericCode;
	/**
	 * @access public
	 * @var double
	 */
	public $Rate;
	/**
	 * @access public
	 * @var string
	 */
	public $TextCode;
}}

if (!class_exists("CurrencyObjectArray")) {
/**
 * CurrencyObjectArray
 */
class CurrencyObjectArray {
}}

if (!class_exists("CustomerObject")) {
/**
 * CustomerObject
 */
class CustomerObject {
	/**
	 * @access public
	 * @var double
	 */
	public $Amount;
	/**
	 * @access public
	 * @var Address
	 */
	public $BillingAddress;
	/**
	 * @access public
	 * @var dateTime
	 */
	public $Created;
	/**
	 * @access public
	 * @var integer
	 */
	public $Currency;
	/**
	 * @access public
	 * @var string
	 */
	public $CustNum;
	/**
	 * @access public
	 * @var string
	 */
	public $CustomData;
	/**
	 * @access public
	 * @var FieldValue[]
	 */
	public $CustomFields;
	/**
	 * @access public
	 * @var string
	 */
	public $CustomerID;
	/**
	 * @access public
	 * @var string
	 */
	public $Description;
	/**
	 * @access public
	 * @var boolean
	 */
	public $Enabled;
	/**
	 * @access public
	 * @var integer
	 */
	public $Failures;
	/**
	 * @access public
	 * @var dateTime
	 */
	public $Modified;
	/**
	 * @access public
	 * @var string
	 */
	public $Next;
	/**
	 * @access public
	 * @var string
	 */
	public $Notes;
	/**
	 * @access public
	 * @var integer
	 */
	public $NumLeft;
	/**
	 * @access public
	 * @var string
	 */
	public $OrderID;
	/**
	 * @access public
	 * @var PaymentMethod[]
	 */
	public $PaymentMethods;
	/**
	 * @access public
	 * @var string
	 */
	public $ReceiptNote;
	/**
	 * @access public
	 * @var string
	 */
	public $Schedule;
	/**
	 * @access public
	 * @var boolean
	 */
	public $SendReceipt;
	/**
	 * @access public
	 * @var string
	 */
	public $Source;
	/**
	 * @access public
	 * @var double
	 */
	public $Tax;
	/**
	 * @access public
	 * @var string
	 */
	public $User;
	/**
	 * @access public
	 * @var string
	 */
	public $URL;
 
        
}}

if (!class_exists("CustomerObjectArray")) {
/**
 * CustomerObjectArray
 */
class CustomerObjectArray {
}}

if (!class_exists("CustomerSearchResult")) {
/**
 * CustomerSearchResult
 */
class CustomerSearchResult {
	/**
	 * @access public
	 * @var CustomerObject[]
	 */
	public $Customers;
	/**
	 * @access public
	 * @var integer
	 */
	public $CustomersMatched;
	/**
	 * @access public
	 * @var integer
	 */
	public $CustomersReturned;
	/**
	 * @access public
	 * @var integer
	 */
	public $Limit;
	/**
	 * @access public
	 * @var integer
	 */
	public $StartIndex;
}}

if (!class_exists("CustomerTransactionRequest")) {
/**
 * CustomerTransactionRequest
 * 
 * 
 * @deprecated 
 * 
 * 
 * @see baseCustomerTransactionRequestObject
 */
class CustomerTransactionRequest {
	/**
	 * @access public
	 * @var string
	 */
	public $Command;
	/**
	 * @access public
	 * @var string
	 */
	public $CardCode;
	/**
	 * @access public
	 * @var string
	 */
	public $ClientIP;
	/**
	 * @access public
	 * @var FieldValue[]
	 */
	public $CustomFields;
	/**
	 * @access public
	 * @var boolean
	 */
	public $CustReceipt;
	/**
	 * @access public
	 * @var string
	 */
	public $CustReceiptEmail;
	/**
	 * @access public
	 * @var string
	 */
	public $CustReceiptName;
	/**
	 * @access public
	 * @var boolean
	 */
	public $MerchReceipt;
	/**
	 * @access public
	 * @var string
	 */
	public $MerchReceiptEmail;
	/**
	 * @access public
	 * @var string
	 */
	public $MerchReceiptName;
	/**
	 * @access public
	 * @var TransactionDetail
	 */
	public $Details;
	/**
	 * @access public
	 * @var boolean
	 */
	public $IgnoreDuplicate;
	/**
	 * @access public
	 * @var boolean
	 */
	public $isRecurring;
	/**
	 * @access public
	 * @var LineItem[]
	 */
	public $LineItems;
	/**
	 * @access public
	 * @var string
	 */
	public $Software;
}}

if (!class_exists("doubleArray")) {
/**
 * doubleArray
 */
class doubleArray {
}}

if (!class_exists("FieldValue")) {
/**
 * FieldValue
 */
class FieldValue {
	/**
	 * @access public
	 * @var string
	 */
	public $Field;
	/**
	 * @access public
	 * @var string
	 */
	public $Value;
}}

if (!class_exists("FieldValueArray")) {
/**
 * FieldValueArray
 */
class FieldValueArray {
}}

if (!class_exists("LineItem")) {
/**
 * LineItem
 */
class LineItem {
	/**
	 * @access public
	 * @var string
	 */
	public $ProductRefNum;
	/**
	 * @access public
	 * @var string
	 */
	public $SKU;
	/**
	 * @access public
	 * @var string
	 */
	public $ProductName;
	/**
	 * @access public
	 * @var string
	 */
	public $Description;
	/**
	 * @access public
	 * @var string
	 */
	public $UnitPrice;
	/**
	 * @access public
	 * @var string
	 */
	public $Qty;
	/**
	 * @access public
	 * @var boolean
	 */
	public $Taxable;
}}

if (!class_exists("LineItemArray")) {
/**
 * LineItemArray
 */
class LineItemArray {
}}

if (!class_exists("PaymentMethod")) {
/**
 * PaymentMethod
 * 
 * @deprecated 
 * 
 * @see basePaymentMethodObject
 */
class PaymentMethod {
	/**
	 * @access public
	 * @var integer
	 */
	public $MethodID;
	/**
	 * @access public
	 * @var string
	 */
	public $MethodName;
	/**
	 * @access public
	 * @var integer
	 */
	public $SecondarySort;
	/**
	 * @access public
	 * @var dateTime
	 */
	public $Created;
	/**
	 * @access public
	 * @var dateTime
	 */
	public $Modified;
	/**
	 * @access public
	 * @var string
	 */
	public $Account;
	/**
	 * @access public
	 * @var string
	 */
	public $AccountType;
	/**
	 * @access public
	 * @var string
	 */
	public $DriversLicense;
	/**
	 * @access public
	 * @var string
	 */
	public $DriversLicenseState;
	/**
	 * @access public
	 * @var string
	 */
	public $RecordType;
	/**
	 * @access public
	 * @var string
	 */
	public $Routing;
	/**
	 * @access public
	 * @var string
	 */
	public $AvsStreet;
	/**
	 * @access public
	 * @var string
	 */
	public $AvsZip;
	/**
	 * @access public
	 * @var string
	 */
	public $CardCode;
	/**
	 * @access public
	 * @var string
	 */
	public $CardExpiration;
	/**
	 * @access public
	 * @var string
	 */
	public $CardNumber;
	/**
	 * @access public
	 * @var string
	 */
	public $CardType;
}}

if (!class_exists("PaymentMethodArray")) {
/**
 * PaymentMethodArray
 */
class PaymentMethodArray {
}}

if (!class_exists("Product")) {
/**
 * Product
 */
class Product {
	/**
	 * @access public
	 * @var string
	 */
	public $ProductRefNum;
	/**
	 * @access public
	 * @var string
	 */
	public $ProductID;
	/**
	 * @access public
	 * @var string
	 */
	public $SKU;
	/**
	 * @access public
	 * @var string
	 */
	public $UPC;
	/**
	 * @access public
	 * @var string
	 */
	public $Category;
	/**
	 * @access public
	 * @var boolean
	 */
	public $Enabled;
	/**
	 * @access public
	 * @var string
	 */
	public $Name;
	/**
	 * @access public
	 * @var string
	 */
	public $Description;
	/**
	 * @access public
	 * @var string
	 */
	public $Model;
	/**
	 * @access public
	 * @var double
	 */
	public $Weight;
	/**
	 * @access public
	 * @var double
	 */
	public $ShipWeight;
	/**
	 * @access public
	 * @var double
	 */
	public $Price;
	/**
	 * @access public
	 * @var double
	 */
	public $WholesalePrice;
	/**
	 * @access public
	 * @var double
	 */
	public $ListPrice;
	/**
	 * @access public
	 * @var string
	 */
	public $DateAvailable;
	/**
	 * @access public
	 * @var string
	 */
	public $Manufacturer;
	/**
	 * @access public
	 * @var boolean
	 */
	public $PhysicalGood;
	/**
	 * @access public
	 * @var integer
	 */
	public $MinQuantity;
	/**
	 * @access public
	 * @var string
	 */
	public $ImageURL;
	/**
	 * @access public
	 * @var string
	 */
	public $URL;
	/**
	 * @access public
	 * @var dateTime
	 */
	public $Created;
	/**
	 * @access public
	 * @var dateTime
	 */
	public $Modified;
	/**
	 * @access public
	 * @var ProductInventory[]
	 */
	public $Inventory;
}}

if (!class_exists("ProductArray")) {
/**
 * ProductArray
 */
class ProductArray {
}}

if (!class_exists("ProductCategory")) {
/**
 * ProductCategory
 */
class ProductCategory {
	/**
	 * @access public
	 * @var string
	 */
	public $ProductCategoryRefNum;
	/**
	 * @access public
	 * @var string
	 */
	public $Name;
	/**
	 * @access public
	 * @var dateTime
	 */
	public $Created;
	/**
	 * @access public
	 * @var dateTime
	 */
	public $Modified;
}}

if (!class_exists("ProductCategoryArray")) {
/**
 * ProductCategoryArray
 */
class ProductCategoryArray {
}}

if (!class_exists("ProductInventory")) {
/**
 * ProductInventory
 */
class ProductInventory {
	/**
	 * @access public
	 * @var string
	 */
	public $InventoryLocation;
	/**
	 * @access public
	 * @var string
	 */
	public $QtyOnHand;
	/**
	 * @access public
	 * @var string
	 */
	public $QtyOnOrder;
	/**
	 * @access public
	 * @var string
	 */
	public $DateAvailable;
}}

if (!class_exists("ProductInventoryArray")) {
/**
 * ProductInventoryArray
 */
class ProductInventoryArray {
}}

if (!class_exists("ProductSearchResult")) {
/**
 * ProductSearchResult
 */
class ProductSearchResult {
	/**
	 * @access public
	 * @var Product[]
	 */
	public $Products;
	/**
	 * @access public
	 * @var integer
	 */
	public $ProductsMatched;
	/**
	 * @access public
	 * @var integer
	 */
	public $ProductsReturned;
	/**
	 * @access public
	 * @var integer
	 */
	public $Limit;
	/**
	 * @access public
	 * @var integer
	 */
	public $StartIndex;
}}

if (!class_exists("Receipt")) {
/**
 * Receipt
 */
class Receipt {
	/**
	 * @access public
	 * @var integer
	 */
	public $ReceiptRefNum;
	/**
	 * @access public
	 * @var string
	 */
	public $Name;
	/**
	 * @access public
	 * @var string
	 */
	public $Subject;
	/**
	 * @access public
	 * @var string
	 */
	public $FromEmail;
	/**
	 * @access public
	 * @var string
	 */
	public $Target;
	/**
	 * @access public
	 * @var string
	 */
	public $ContentType;
	/**
	 * @access public
	 * @var string
	 */
	public $TemplateHTML;
	/**
	 * @access public
	 * @var string
	 */
	public $TemplateText;
}}

if (!class_exists("ReceiptArray")) {
/**
 * ReceiptArray
 */
class ReceiptArray {
}}

if (!class_exists("RecurringBilling")) {
/**
 * RecurringBilling
 */
class RecurringBilling {
	/**
	 * @access public
	 * @var double
	 */
	public $Amount;
	/**
	 * @access public
	 * @var boolean
	 */
	public $Enabled;
	/**
	 * @access public
	 * @var string
	 */
	public $Expire;
	/**
	 * @access public
	 * @var string
	 */
	public $Next;
	/**
	 * @access public
	 * @var integer
	 */
	public $NumLeft;
	/**
	 * @access public
	 * @var string
	 */
	public $Schedule;
}}

if (!class_exists("SearchParam")) {
/**
 * SearchParam
 */
class SearchParam {
	/**
	 * @access public
	 * @var string
	 */
	public $Field;
	/**
	 * @access public
	 * @var string
	 */
	public $Type;
	/**
	 * @access public
	 * @var string
	 */
	public $Value;
}}

if (!class_exists("SearchParamArray")) {
/**
 * SearchParamArray
 */
class SearchParamArray {
}}

if (!class_exists("stringArray")) {
/**
 * stringArray
 */
class stringArray {
}}

if (!class_exists("SyncLog")) {
/**
 * SyncLog
 */
class SyncLog {
	/**
	 * @access public
	 * @var integer
	 */
	public $SyncPosition;
	/**
	 * @access public
	 * @var string
	 */
	public $ObjectName;
	/**
	 * @access public
	 * @var string
	 */
	public $RefNum;
	/**
	 * @access public
	 * @var dateTime
	 */
	public $ChangeDate;
	/**
	 * @access public
	 * @var string
	 */
	public $Action;
}}

if (!class_exists("SyncLogArray")) {
/**
 * SyncLogArray
 */
class SyncLogArray {
}}

if (!class_exists("SystemInfo")) {
/**
 * SystemInfo
 */
class SystemInfo {
	/**
	 * @access public
	 * @var string
	 */
	public $ApiVersion;
	/**
	 * @access public
	 * @var string
	 */
	public $Environment;
	/**
	 * @access public
	 * @var string
	 */
	public $Datacenter;
	/**
	 * @access public
	 * @var string
	 */
	public $Time;
}}

if (!class_exists("TransactionDetail")) {
/**
 * TransactionDetail
 */
class TransactionDetail {
	/**
	 * @access public
	 * @var double
	 */
	public $Amount;
	/**
	 * @access public
	 * @var string
	 */
	public $Clerk;
	/**
	 * @access public
	 * @var integer
	 */
	public $Currency;
	/**
	 * @access public
	 * @var string
	 */
	public $Description;
	/**
	 * @access public
	 * @var string
	 */
	public $Comments;
	/**
	 * @access public
	 * @var double
	 */
	public $Discount;
	/**
	 * @access public
	 * @var string
	 */
	public $Invoice;
	/**
	 * @access public
	 * @var boolean
	 */
	public $NonTax;
	/**
	 * @access public
	 * @var string
	 */
	public $OrderID;
	/**
	 * @access public
	 * @var string
	 */
	public $PONum;
	/**
	 * @access public
	 * @var double
	 */
	public $Shipping;
	/**
	 * @access public
	 * @var double
	 */
	public $Subtotal;
	/**
	 * @access public
	 * @var string
	 */
	public $Table;
	/**
	 * @access public
	 * @var double
	 */
	public $Tax;
	/**
	 * @access public
	 * @var string
	 */
	public $Terminal;
	/**
	 * @access public
	 * @var double
	 */
	public $Tip;
}}

if (!class_exists("TransactionObject")) {
/**
 * TransactionObject
 */
class TransactionObject {
	/**
	 * @access public
	 * @var string
	 */
	public $AccountHolder;
	/**
	 * @access public
	 * @var Address
	 */
	public $BillingAddress;
	/**
	 * @access public
	 * @var CheckData
	 */
	public $CheckData;
	/**
	 * @access public
	 * @var CheckTrace
	 */
	public $CheckTrace;
	/**
	 * @access public
	 * @var string
	 */
	public $ClientIP;
	/**
	 * @access public
	 * @var CreditCardData
	 */
	public $CreditCardData;
	/**
	 * @access public
	 * @var string
	 */
	public $CustomerID;
	/**
	 * @access public
	 * @var FieldValue[]
	 */
	public $CustomFields;
	/**
	 * @access public
	 * @var string
	 */
	public $DateTime;
	/**
	 * @access public
	 * @var TransactionDetail
	 */
	public $Details;
	/**
	 * @access public
	 * @var LineItem[]
	 */
	public $LineItems;
	/**
	 * @access public
	 * @var TransactionResponse
	 */
	public $Response;
	/**
	 * @access public
	 * @var string
	 */
	public $ServerIP;
	/**
	 * @access public
	 * @var Address
	 */
	public $ShippingAddress;
	/**
	 * @access public
	 * @var string
	 */
	public $Source;
	/**
	 * @access public
	 * @var string
	 */
	public $Status;
	/**
	 * @access public
	 * @var string
	 */
	public $TransactionType;
	/**
	 * @access public
	 * @var string
	 */
	public $User;
}}

if (!class_exists("TransactionObjectArray")) {
/**
 * TransactionObjectArray
 */
class TransactionObjectArray {
}}

if (!class_exists("TransactionRequestObject")) {
/**
 * TransactionRequestObject
 */
class TransactionRequestObject {
	/**
	 * @access public
	 * @var string
	 */
	public $AccountHolder;
	/**
	 * @access public
	 * @var string
	 */
	public $AuthCode;
	/**
	 * @access public
	 * @var Address
	 */
	public $BillingAddress;
	/**
	 * @access public
	 * @var CheckData
	 */
	public $CheckData;
	/**
	 * @access public
	 * @var string
	 */
	public $ClientIP;
	/**
	 * @access public
	 * @var string
	 */
	public $Command;
	/**
	 * @access public
	 * @var CreditCardData
	 */
	public $CreditCardData;
	/**
	 * @access public
	 * @var string
	 */
	public $CustomerID;
	/**
	 * @access public
	 * @var FieldValue[]
	 */
	public $CustomFields;
	/**
	 * @access public
	 * @var boolean
	 */
	public $CustReceipt;
	/**
	 * @access public
	 * @var string
	 */
	public $CustReceiptName;
	/**
	 * @access public
	 * @var TransactionDetail
	 */
	public $Details;
	/**
	 * @access public
	 * @var boolean
	 */
	public $IgnoreDuplicate;
	/**
	 * @access public
	 * @var LineItem[]
	 */
	public $LineItems;
	/**
	 * @access public
	 * @var RecurringBilling
	 */
	public $RecurringBilling;
	/**
	 * @access public
	 * @var string
	 */
	public $RefNum;
	/**
	 * @access public
	 * @var Address
	 */
	public $ShippingAddress;
	/**
	 * @access public
	 * @var string
	 */
	public $Software;
}}

if (!class_exists("TransactionResponse")) {
/**
 * TransactionResponse
 */
class TransactionResponse {
	/**
	 * @access public
	 * @var string
	 */
	public $AcsUrl;
	/**
	 * @access public
	 * @var string
	 */
	public $AuthCode;
	/**
	 * @access public
	 * @var string
	 */
	public $AvsResult;
	/**
	 * @access public
	 * @var string
	 */
	public $AvsResultCode;
	/**
	 * @access public
	 * @var integer
	 */
	public $BatchNum;
	/**
	 * @access public
	 * @var integer
	 */
	public $BatchRefNum;
	/**
	 * @access public
	 * @var string
	 */
	public $CardCodeResult;
	/**
	 * @access public
	 * @var string
	 */
	public $CardCodeResultCode;
	/**
	 * @access public
	 * @var string
	 */
	public $CardLevelResult;
	/**
	 * @access public
	 * @var string
	 */
	public $CardLevelResultCode;
	/**
	 * @access public
	 * @var double
	 */
	public $ConversionRate;
	/**
	 * @access public
	 * @var double
	 */
	public $ConvertedAmount;
	/**
	 * @access public
	 * @var string
	 */
	public $ConvertedAmountCurrency;
	/**
	 * @access public
	 * @var integer
	 */
	public $CustNum;
	/**
	 * @access public
	 * @var string
	 */
	public $Error;
	/**
	 * @access public
	 * @var integer
	 */
	public $ErrorCode;
	/**
	 * @access public
	 * @var boolean
	 */
	public $isDuplicate;
	/**
	 * @access public
	 * @var string
	 */
	public $Payload;
	/**
	 * @access public
	 * @var integer
	 */
	public $RefNum;
	/**
	 * @access public
	 * @var string
	 */
	public $Result;
	/**
	 * @access public
	 * @var string
	 */
	public $ResultCode;
	/**
	 * @access public
	 * @var string
	 */
	public $Status;
	/**
	 * @access public
	 * @var string
	 */
	public $StatusCode;
	/**
	 * @access public
	 * @var string
	 */
	public $VpasResultCode;
}}

if (!class_exists("TransactionSearchResult")) {
/**
 * TransactionSearchResult
 */
class TransactionSearchResult {
	/**
	 * @access public
	 * @var double
	 */
	public $AuthOnlyAmount;
	/**
	 * @access public
	 * @var integer
	 */
	public $AuthOnlyCount;
	/**
	 * @access public
	 * @var double
	 */
	public $CreditsAmount;
	/**
	 * @access public
	 * @var integer
	 */
	public $CreditsCount;
	/**
	 * @access public
	 * @var double
	 */
	public $DeclinesAmount;
	/**
	 * @access public
	 * @var integer
	 */
	public $DeclinesCount;
	/**
	 * @access public
	 * @var double
	 */
	public $ErrorsAmount;
	/**
	 * @access public
	 * @var integer
	 */
	public $ErrorsCount;
	/**
	 * @access public
	 * @var integer
	 */
	public $Limit;
	/**
	 * @access public
	 * @var double
	 */
	public $SalesAmount;
	/**
	 * @access public
	 * @var integer
	 */
	public $SalesCount;
	/**
	 * @access public
	 * @var integer
	 */
	public $StartIndex;
	/**
	 * @access public
	 * @var TransactionObject[]
	 */
	public $Transactions;
	/**
	 * @access public
	 * @var integer
	 */
	public $TransactionsMatched;
	/**
	 * @access public
	 * @var integer
	 */
	public $TransactionsReturned;
	/**
	 * @access public
	 * @var double
	 */
	public $VoidsAmount;
	/**
	 * @access public
	 * @var integer
	 */
	public $VoidsCount;
}}

if (!class_exists("ueHash")) {
/**
 * ueHash
 */
class ueHash {
	/**
	 * @access public
	 * @var string
	 */
	public $HashValue;
	/**
	 * @access public
	 * @var string
	 */
	public $Seed;
	/**
	 * @access public
	 * @var string
	 */
	public $Type;
}}

if (!class_exists("ueSecurityToken")) {
/**
 * ueSecurityToken
 */
class ueSecurityToken {
	/**
	 * @access public
	 * @var string
	 */
	public $ClientIP;
	/**
	 * @access public
	 * @var ueHash
	 */
	public $PinHash;
	/**
	 * @access public
	 * @var string
	 */
	public $SourceKey;
}}

if (!class_exists("usaepayService")) {
/**
 * usaepayService
 * @author WSDLInterpreter
 */
class usaepayService extends SoapClient {
	/**
	 * Default class map for wsdl=>php
	 * @access private
	 * @var array
         * 
         * @deprecated 
         * 
         * @see baseUSAEpayService
	 */
	private static $classmap = array(
		"AccountDetails" => "AccountDetails",
		"Address" => "Address",
		"Bank" => "Bank",
		"BankArray" => "BankArray",
		"BatchSearchResult" => "BatchSearchResult",
		"BatchStatus" => "BatchStatus",
		"BatchStatusArray" => "BatchStatusArray",
		"BatchUploadStatus" => "BatchUploadStatus",
		"CheckData" => "CheckData",
		"CheckTrace" => "CheckTrace",
		"CreditCardData" => "CreditCardData",
		"CurrencyConversion" => "CurrencyConversion",
		"CurrencyConversionArray" => "CurrencyConversionArray",
		"CurrencyObject" => "CurrencyObject",
		"CurrencyObjectArray" => "CurrencyObjectArray",
		"CustomerObject" => "CustomerObject",
		"CustomerObjectArray" => "CustomerObjectArray",
		"CustomerSearchResult" => "CustomerSearchResult",
		"CustomerTransactionRequest" => "CustomerTransactionRequest",
		"doubleArray" => "doubleArray",
		"FieldValue" => "FieldValue",
		"FieldValueArray" => "FieldValueArray",
		"LineItem" => "LineItem",
		"LineItemArray" => "LineItemArray",
		"PaymentMethod" => "PaymentMethod",
		"PaymentMethodArray" => "PaymentMethodArray",
		"Product" => "Product",
		"ProductArray" => "ProductArray",
		"ProductCategory" => "ProductCategory",
		"ProductCategoryArray" => "ProductCategoryArray",
		"ProductInventory" => "ProductInventory",
		"ProductInventoryArray" => "ProductInventoryArray",
		"ProductSearchResult" => "ProductSearchResult",
		"Receipt" => "Receipt",
		"ReceiptArray" => "ReceiptArray",
		"RecurringBilling" => "RecurringBilling",
		"SearchParam" => "SearchParam",
		"SearchParamArray" => "SearchParamArray",
		"stringArray" => "stringArray",
		"SyncLog" => "SyncLog",
		"SyncLogArray" => "SyncLogArray",
		"SystemInfo" => "SystemInfo",
		"TransactionDetail" => "TransactionDetail",
		"TransactionObject" => "TransactionObject",
		"TransactionObjectArray" => "TransactionObjectArray",
		"TransactionRequestObject" => "TransactionRequestObject",
		"TransactionResponse" => "TransactionResponse",
		"TransactionSearchResult" => "TransactionSearchResult",
		"ueHash" => "ueHash",
		"ueSecurityToken" => "ueSecurityToken",
	);

	/**
	 * Constructor using wsdl location and options array
	 * @param array $options Options for the SoapClient
	 */
	public function __construct( $options=array()) {
           
            $wsdl=  PGConfiguration::WSDL;
            foreach(self::$classmap as $wsdlClassName => $phpClassName) {
		    if(!isset($options['classmap'][$wsdlClassName])) {
		        $options['classmap'][$wsdlClassName] = $phpClassName;
		    }
		}
		parent::__construct($wsdl, $options);
	}

	/**
	 * Checks if an argument list matches against a valid argument type list
	 * @param array $arguments The argument list to check
	 * @param array $validParameters A list of valid argument types
	 * @return boolean true if arguments match against validParameters
	 * @throws Exception invalid function signature message
	 */
	public function _checkArguments($arguments, $validParameters) {
		$variables = "";
		foreach ($arguments as $arg) {
		    $type = gettype($arg);
		    if ($type == "object") {
		        $type = get_class($arg);
		    }
		    $variables .= "(".$type.")";
		}
		if (!in_array($variables, $validParameters)) {
		   // throw new Exception("Invalid parameter types: ".str_replace(")(", ", ", $variables));
                    return true;
		}
		return true;
	}

	/**
	 * Service Call: addCustomer
	 * Parameter options:
	 * (ueSecurityToken) Token, (CustomerObject) CustomerData
	 * @param mixed,... See function description for parameter options
	 * @return integer
	 * @throws Exception invalid function signature message
	 */
	public function addCustomer($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(CustomerObject)",
		);
		$args = func_get_args();
		//$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("addCustomer", $args);
	}


	/**
	 * Service Call: addCustomerPaymentMethod
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) CustNum, (PaymentMethod) PaymentMethod, (boolean) MakeDefault, (boolean) Verify
	 * @param mixed,... See function description for parameter options
	 * @return integer
	 * @throws Exception invalid function signature message
	 */
	public function addCustomerPaymentMethod($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(PaymentMethod)(boolean)(boolean)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("addCustomerPaymentMethod", $args);
	}


	/**
	 * Service Call: addProduct
	 * Parameter options:
	 * (ueSecurityToken) Token, (Product) Product
	 * @param mixed,... See function description for parameter options
	 * @return string
	 * @throws Exception invalid function signature message
	 */
	public function addProduct($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(Product)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("addProduct", $args);
	}


	/**
	 * Service Call: addProductCategory
	 * Parameter options:
	 * (ueSecurityToken) Token, (ProductCategory) ProductCategory
	 * @param mixed,... See function description for parameter options
	 * @return string
	 * @throws Exception invalid function signature message
	 */
	public function addProductCategory($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(ProductCategory)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("addProductCategory", $args);
	}


	/**
	 * Service Call: addReceipt
	 * Parameter options:
	 * (ueSecurityToken) Token, (Receipt) Receipt
	 * @param mixed,... See function description for parameter options
	 * @return integer
	 * @throws Exception invalid function signature message
	 */
	public function addReceipt($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(Receipt)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("addReceipt", $args);
	}


	/**
	 * Service Call: adjustInventory
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) ProductRefNum, (ProductInventory[]) Inventory
	 * @param mixed,... See function description for parameter options
	 * @return ProductInventory[]
	 * @throws Exception invalid function signature message
	 */
	public function adjustInventory($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)(array)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("adjustInventory", $args);
	}


	/**
	 * Service Call: bulkCurrencyConversion
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) FromCurrency, (string) ToCurrency, (double[]) Amounts
	 * @param mixed,... See function description for parameter options
	 * @return CurrencyConversion[]
	 * @throws Exception invalid function signature message
	 */
	public function bulkCurrencyConversion($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)(string)(array)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("bulkCurrencyConversion", $args);
	}


	/**
	 * Service Call: captureTransaction
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum, (double) Amount
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function captureTransaction($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(double)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("captureTransaction", $args);
	}


	/**
	 * Service Call: closeBatch
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) BatchRefNum
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function closeBatch($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("closeBatch", $args);
	}


	/**
	 * Service Call: convertTranToCust
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum, (FieldValue[]) UpdateData
	 * @param mixed,... See function description for parameter options
	 * @return integer
	 * @throws Exception invalid function signature message
	 */
	public function convertTranToCust($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(array)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("convertTranToCust", $args);
	}


	/**
	 * Service Call: copyCustomer
	 * Parameter options:
	 * (ueSecurityToken) CopyFromToken, (integer) CustNum, (ueSecurityToken) CopyToToken
	 * @param mixed,... See function description for parameter options
	 * @return integer
	 * @throws Exception invalid function signature message
	 */
	public function copyCustomer($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(ueSecurityToken)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("copyCustomer", $args);
	}


	/**
	 * Service Call: createBatchUpload
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) FileName, (boolean) AutoStart, (string) Format, (string) Encoding, (string[]) Fields, (string) Data, (boolean) OverrideDuplicates
	 * @param mixed,... See function description for parameter options
	 * @return BatchUploadStatus
	 * @throws Exception invalid function signature message
	 */
	public function createBatchUpload($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)(boolean)(string)(string)(string[])(string)(boolean)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("createBatchUpload", $args);
	}


	/**
	 * Service Call: currencyConversion
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) FromCurrency, (integer) ToCurrency, (double) Amount
	 * @param mixed,... See function description for parameter options
	 * @return CurrencyConversion
	 * @throws Exception invalid function signature message
	 */
	public function currencyConversion($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(integer)(double)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("currencyConversion", $args);
	}


	/**
	 * Service Call: deleteCustomer
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) CustNum
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function deleteCustomer($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("deleteCustomer", $args);
	}


	/**
	 * Service Call: deleteCustomerPaymentMethod
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) Custnum, (integer) PaymentMethodID
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function deleteCustomerPaymentMethod($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("deleteCustomerPaymentMethod", $args);
	}


	/**
	 * Service Call: deleteProduct
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) ProductRefNum
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function deleteProduct($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("deleteProduct", $args);
	}


	/**
	 * Service Call: deleteProductCategory
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) ProductCategoryRefNum
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function deleteProductCategory($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("deleteProductCategory", $args);
	}


	/**
	 * Service Call: deleteReceipt
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) ReceiptRefNum
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function deleteReceipt($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("deleteReceipt", $args);
	}


	/**
	 * Service Call: disableCustomer
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) CustNum
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function disableCustomer($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("disableCustomer", $args);
	}


	/**
	 * Service Call: emailTransactionReceipt
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum, (integer) ReceiptRefNum, (string) Email
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function emailTransactionReceipt($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(integer)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("emailTransactionReceipt", $args);
	}


	/**
	 * Service Call: emailTransactionReceiptByName
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum, (string) ReceiptName, (string) Email
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function emailTransactionReceiptByName($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(string)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("emailTransactionReceiptByName", $args);
	}


	/**
	 * Service Call: enableCustomer
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) CustNum
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function enableCustomer($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("enableCustomer", $args);
	}


	/**
	 * Service Call: getAccountDetails
	 * Parameter options:
	 * (ueSecurityToken) Token
	 * @param mixed,... See function description for parameter options
	 * @return AccountDetails
	 * @throws Exception invalid function signature message
	 */
	public function getAccountDetails($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getAccountDetails", $args);
	}


	/**
	 * Service Call: getBankList
	 * Parameter options:
	 * (ueSecurityToken) Token
	 * @param mixed,... See function description for parameter options
	 * @return Bank[]
	 * @throws Exception invalid function signature message
	 */
	public function getBankList($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getBankList", $args);
	}


	/**
	 * Service Call: getBatchStatus
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) BatchRefNum
	 * @param mixed,... See function description for parameter options
	 * @return BatchStatus
	 * @throws Exception invalid function signature message
	 */
	public function getBatchStatus($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getBatchStatus", $args);
	}


	/**
	 * Service Call: getBatchTransactions
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) BatchRefNum
	 * @param mixed,... See function description for parameter options
	 * @return TransactionObject[]
	 * @throws Exception invalid function signature message
	 */
	public function getBatchTransactions($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getBatchTransactions", $args);
	}


	/**
	 * Service Call: getBatchUploadStatus
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) UploadRefNum
	 * @param mixed,... See function description for parameter options
	 * @return BatchUploadStatus
	 * @throws Exception invalid function signature message
	 */
	public function getBatchUploadStatus($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getBatchUploadStatus", $args);
	}


	/**
	 * Service Call: getCheckTrace
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum
	 * @param mixed,... See function description for parameter options
	 * @return CheckTrace
	 * @throws Exception invalid function signature message
	 */
	public function getCheckTrace($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getCheckTrace", $args);
	}


	/**
	 * Service Call: getCustomer
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) CustNum
	 * @param mixed,... See function description for parameter options
	 * @return CustomerObject
	 * @throws Exception invalid function signature message
	 */
	public function getCustomer($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getCustomer", $args);
	}


	/**
	 * Service Call: getCustomerHistory
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) CustNum
	 * @param mixed,... See function description for parameter options
	 * @return TransactionSearchResult
	 * @throws Exception invalid function signature message
	 */
	public function getCustomerHistory($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getCustomerHistory", $args);
	}


	/**
	 * Service Call: getCustomerPaymentMethod
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) CustNum, (integer) MethodID
	 * @param mixed,... See function description for parameter options
	 * @return PaymentMethod
	 * @throws Exception invalid function signature message
	 */
	public function getCustomerPaymentMethod($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getCustomerPaymentMethod", $args);
	}


	/**
	 * Service Call: getCustomerPaymentMethods
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) CustNum
	 * @param mixed,... See function description for parameter options
	 * @return PaymentMethod[]
	 * @throws Exception invalid function signature message
	 */
	public function getCustomerPaymentMethods($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getCustomerPaymentMethods", $args);
	}


	/**
	 * Service Call: getCustomerReport
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) Report, (FieldValue[]) Options, (string) Format
	 * @param mixed,... See function description for parameter options
	 * @return string
	 * @throws Exception invalid function signature message
	 */
	public function getCustomerReport($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)(array)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getCustomerReport", $args);
	}


	/**
	 * Service Call: getCustomFields
	 * Parameter options:
	 * (ueSecurityToken) Token
	 * @param mixed,... See function description for parameter options
	 * @return FieldValue[]
	 * @throws Exception invalid function signature message
	 */
	public function getCustomFields($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getCustomFields", $args);
	}


	/**
	 * Service Call: getProduct
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) ProductRefNum
	 * @param mixed,... See function description for parameter options
	 * @return Product
	 * @throws Exception invalid function signature message
	 */
	public function getProduct($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getProduct", $args);
	}


	/**
	 * Service Call: getProductCategory
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) ProductCategoryRefNum
	 * @param mixed,... See function description for parameter options
	 * @return ProductCategory
	 * @throws Exception invalid function signature message
	 */
	public function getProductCategory($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getProductCategory", $args);
	}


	/**
	 * Service Call: getProductCategories
	 * Parameter options:
	 * (ueSecurityToken) Token
	 * @param mixed,... See function description for parameter options
	 * @return ProductCategory[]
	 * @throws Exception invalid function signature message
	 */
	public function getProductCategories($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getProductCategories", $args);
	}


	/**
	 * Service Call: getProductInventory
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) ProductRefNum
	 * @param mixed,... See function description for parameter options
	 * @return ProductInventory[]
	 * @throws Exception invalid function signature message
	 */
	public function getProductInventory($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getProductInventory", $args);
	}


	/**
	 * Service Call: getReceipt
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) ReceiptRefNum
	 * @param mixed,... See function description for parameter options
	 * @return Receipt
	 * @throws Exception invalid function signature message
	 */
	public function getReceipt($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getReceipt", $args);
	}


	/**
	 * Service Call: getReceiptByName
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) Name
	 * @param mixed,... See function description for parameter options
	 * @return Receipt
	 * @throws Exception invalid function signature message
	 */
	public function getReceiptByName($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getReceiptByName", $args);
	}


	/**
	 * Service Call: getReceipts
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) Target
	 * @param mixed,... See function description for parameter options
	 * @return Receipt[]
	 * @throws Exception invalid function signature message
	 */
	public function getReceipts($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getReceipts", $args);
	}


	/**
	 * Service Call: getReport
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) Report, (FieldValue[]) Options, (string) Format
	 * @param mixed,... See function description for parameter options
	 * @return string
	 * @throws Exception invalid function signature message
	 */
	public function getReport($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)(array)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getReport", $args);
	}


	/**
	 * Service Call: getSupportedCurrencies
	 * Parameter options:
	 * (ueSecurityToken) Token
	 * @param mixed,... See function description for parameter options
	 * @return CurrencyObject[]
	 * @throws Exception invalid function signature message
	 */
	public function getSupportedCurrencies($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getSupportedCurrencies", $args);
	}


	/**
	 * Service Call: getSyncLog
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) ObjectName, (integer) FromPosition
	 * @param mixed,... See function description for parameter options
	 * @return SyncLog[]
	 * @throws Exception invalid function signature message
	 */
	public function getSyncLog($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getSyncLog", $args);
	}


	/**
	 * Service Call: getSyncLogCurrentPosition
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) ObjectName
	 * @param mixed,... See function description for parameter options
	 * @return integer
	 * @throws Exception invalid function signature message
	 */
	public function getSyncLogCurrentPosition($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getSyncLogCurrentPosition", $args);
	}


	/**
	 * Service Call: getSystemInfo
	 * Parameter options:
	 * (ueSecurityToken) Token
	 * @param mixed,... See function description for parameter options
	 * @return SystemInfo
	 * @throws Exception invalid function signature message
	 */
	public function getSystemInfo($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getSystemInfo", $args);
	}


	/**
	 * Service Call: getTransaction
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum
	 * @param mixed,... See function description for parameter options
	 * @return TransactionObject
	 * @throws Exception invalid function signature message
	 */
	public function getTransaction($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getTransaction", $args);
	}


	/**
	 * Service Call: getTransactionCustom
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum, (string[]) Fields
	 * @param mixed,... See function description for parameter options
	 * @return FieldValue[]
	 * @throws Exception invalid function signature message
	 */
	public function getTransactionCustom($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(array)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getTransactionCustom", $args);
	}


	/**
	 * Service Call: getTransactionReport
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) StartDate, (string) EndDate, (string) Report, (string) Format
	 * @param mixed,... See function description for parameter options
	 * @return string
	 * @throws Exception invalid function signature message
	 */
	public function getTransactionReport($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)(string)(string)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getTransactionReport", $args);
	}


	/**
	 * Service Call: getTransactionStatus
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function getTransactionStatus($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("getTransactionStatus", $args);
	}


	/**
	 * Service Call: moveCustomer
	 * Parameter options:
	 * (ueSecurityToken) MoveFromToken, (integer) CustNum, (ueSecurityToken) MoveToToken
	 * @param mixed,... See function description for parameter options
	 * @return integer
	 * @throws Exception invalid function signature message
	 */
	public function moveCustomer($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(ueSecurityToken)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("moveCustomer", $args);
	}


	/**
	 * Service Call: pauseBatchUpload
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) UploadRefNum
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function pauseBatchUpload($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("pauseBatchUpload", $args);
	}


	/**
	 * Service Call: postAuth
	 * Parameter options:
	 * (ueSecurityToken) Token, (TransactionRequestObject) Params
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function postAuth($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(TransactionRequestObject)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("postAuth", $args);
	}


	/**
	 * Service Call: quickUpdateCustomer
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) CustNum, (FieldValue[]) UpdateData
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function quickUpdateCustomer($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(array)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("quickUpdateCustomer", $args);
	}


	/**
	 * Service Call: quickUpdateProduct
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) ProductRefNum, (FieldValue[]) UpdateData
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function quickUpdateProduct($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)(array)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("quickUpdateProduct", $args);
	}


	/**
	 * Service Call: refundTransaction
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum, (double) Amount
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function refundTransaction($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(double)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("refundTransaction", $args);
	}


	/**
	 * Service Call: renderReceipt
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum, (integer) ReceiptRefNum, (string) ContentType
	 * @param mixed,... See function description for parameter options
	 * @return string
	 * @throws Exception invalid function signature message
	 */
	public function renderReceipt($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(integer)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("renderReceipt", $args);
	}


	/**
	 * Service Call: renderReceiptByName
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum, (string) ReceiptName, (string) ContentType
	 * @param mixed,... See function description for parameter options
	 * @return string
	 * @throws Exception invalid function signature message
	 */
	public function renderReceiptByName($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(string)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("renderReceiptByName", $args);
	}


	/**
	 * Service Call: runBatchUpload
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) UploadRefNum
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function runBatchUpload($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("runBatchUpload", $args);
	}


	/**
	 * Service Call: runCredit
	 * Parameter options:
	 * (ueSecurityToken) Token, (TransactionRequestObject) Params
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function runCredit($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(TransactionRequestObject)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("runCredit", $args);
	}


	/**
	 * Service Call: runCheckCredit
	 * Parameter options:
	 * (ueSecurityToken) Token, (TransactionRequestObject) Params
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function runCheckCredit($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(TransactionRequestObject)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("runCheckCredit", $args);
	}


	/**
	 * Service Call: runCustomerTransaction
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) CustNum, (integer) PaymentMethodID, (CustomerTransactionRequest) Parameters
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function runCustomerTransaction($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(integer)(CustomerTransactionRequest)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("runCustomerTransaction", $args);
	}


	/**
	 * Service Call: runQuickSale
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum, (TransactionDetail) Details, (boolean) AuthOnly
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function runQuickSale($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(TransactionDetail)(boolean)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("runQuickSale", $args);
	}


	/**
	 * Service Call: runQuickCredit
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum, (TransactionDetail) Details
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function runQuickCredit($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(TransactionDetail)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("runQuickCredit", $args);
	}


	/**
	 * Service Call: runAuthOnly
	 * Parameter options:
	 * (ueSecurityToken) Token, (TransactionRequestObject) Params
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function runAuthOnly($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(TransactionRequestObject)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("runAuthOnly", $args);
	}


	/**
	 * Service Call: runSale
	 * Parameter options:
	 * (ueSecurityToken) Token, (TransactionRequestObject) Params
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function runSale($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(TransactionRequestObject)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("runSale", $args);
	}


	/**
	 * Service Call: runCheckSale
	 * Parameter options:
	 * (ueSecurityToken) Token, (TransactionRequestObject) Params
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function runCheckSale($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(TransactionRequestObject)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("runCheckSale", $args);
	}


	/**
	 * Service Call: runTransaction
	 * Parameter options:
	 * (ueSecurityToken) Token, (TransactionRequestObject) Parameters
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function runTransaction($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(TransactionRequestObject)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("runTransaction", $args);
	}


	/**
	 * Service Call: runTransactionAPI
	 * Parameter options:
	 * (ueSecurityToken) Token, (FieldValue[]) Parameters
	 * @param mixed,... See function description for parameter options
	 * @return TransactionResponse
	 * @throws Exception invalid function signature message
	 */
	public function runTransactionAPI($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(array)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("runTransactionAPI", $args);
	}


	/**
	 * Service Call: searchBatches
	 * Parameter options:
	 * (ueSecurityToken) Token, (SearchParam[]) Search, (boolean) MatchAll, (integer) Start, (integer) Limit, (string) Sort
	 * @param mixed,... See function description for parameter options
	 * @return BatchSearchResult
	 * @throws Exception invalid function signature message
	 */
	public function searchBatches($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(array)(boolean)(integer)(integer)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("searchBatches", $args);
	}


	/**
	 * Service Call: searchBatchesCount
	 * Parameter options:
	 * (ueSecurityToken) Token, (SearchParam[]) Search, (boolean) MatchAll, (integer) Start, (integer) Limit, (string) Sort
	 * @param mixed,... See function description for parameter options
	 * @return BatchSearchResult
	 * @throws Exception invalid function signature message
	 */
	public function searchBatchesCount($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(array)(boolean)(integer)(integer)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("searchBatchesCount", $args);
	}


	/**
	 * Service Call: searchCustomerID
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) CustID
	 * @param mixed,... See function description for parameter options
	 * @return integer
	 * @throws Exception invalid function signature message
	 */
	public function searchCustomerID($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("searchCustomerID", $args);
	}


	/**
	 * Service Call: searchCustomers
	 * Parameter options:
	 * (ueSecurityToken) Token, (SearchParam[]) Search, (boolean) MatchAll, (integer) Start, (integer) Limit, (string) Sort
	 * @param mixed,... See function description for parameter options
	 * @return CustomerSearchResult
	 * @throws Exception invalid function signature message
	 */
	public function searchCustomers($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(array)(boolean)(integer)(integer)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("searchCustomers", $args);
	}


	/**
	 * Service Call: searchCustomersCount
	 * Parameter options:
	 * (ueSecurityToken) Token, (SearchParam[]) Search, (boolean) MatchAll, (integer) Start, (integer) Limit, (string) Sort
	 * @param mixed,... See function description for parameter options
	 * @return CustomerSearchResult
	 * @throws Exception invalid function signature message
	 */
	public function searchCustomersCount($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(array)(boolean)(integer)(integer)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("searchCustomersCount", $args);
	}


	/**
	 * Service Call: searchProducts
	 * Parameter options:
	 * (ueSecurityToken) Token, (SearchParam[]) Search, (boolean) MatchAll, (integer) Start, (integer) Limit, (string) Sort
	 * @param mixed,... See function description for parameter options
	 * @return ProductSearchResult
	 * @throws Exception invalid function signature message
	 */
	public function searchProducts($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(array)(boolean)(integer)(integer)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("searchProducts", $args);
	}


	/**
	 * Service Call: searchProductsCount
	 * Parameter options:
	 * (ueSecurityToken) Token, (SearchParam[]) Search, (boolean) MatchAll, (integer) Start, (integer) Limit, (string) Sort
	 * @param mixed,... See function description for parameter options
	 * @return ProductSearchResult
	 * @throws Exception invalid function signature message
	 */
	public function searchProductsCount($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(array)(boolean)(integer)(integer)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("searchProductsCount", $args);
	}


	/**
	 * Service Call: searchProductsCustom
	 * Parameter options:
	 * (ueSecurityToken) Token, (SearchParam[]) Search, (boolean) MatchAll, (integer) Start, (integer) Limit, (string[]) FieldList, (string) Format, (string) Sort
	 * @param mixed,... See function description for parameter options
	 * @return string
	 * @throws Exception invalid function signature message
	 */
	public function searchProductsCustom($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(array)(boolean)(integer)(integer)(array)(string)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("searchProductsCustom", $args);
	}


	/**
	 * Service Call: searchTransactions
	 * Parameter options:
	 * (ueSecurityToken) Token, (SearchParam[]) Search, (boolean) MatchAll, (integer) Start, (integer) Limit, (string) Sort
	 * @param mixed,... See function description for parameter options
	 * @return TransactionSearchResult
	 * @throws Exception invalid function signature message
	 */
	public function searchTransactions($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(array)(boolean)(integer)(integer)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("searchTransactions", $args);
	}


	/**
	 * Service Call: searchTransactionsCount
	 * Parameter options:
	 * (ueSecurityToken) Token, (SearchParam[]) Search, (boolean) MatchAll, (integer) Start, (integer) Limit, (string) Sort
	 * @param mixed,... See function description for parameter options
	 * @return TransactionSearchResult
	 * @throws Exception invalid function signature message
	 */
	public function searchTransactionsCount($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(array)(boolean)(integer)(integer)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("searchTransactionsCount", $args);
	}


	/**
	 * Service Call: searchTransactionsCustom
	 * Parameter options:
	 * (ueSecurityToken) Token, (SearchParam[]) Search, (boolean) MatchAll, (integer) Start, (integer) Limit, (string[]) FieldList, (string) Format, (string) Sort
	 * @param mixed,... See function description for parameter options
	 * @return string
	 * @throws Exception invalid function signature message
	 */
	public function searchTransactionsCustom($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(array)(boolean)(integer)(integer)(array)(string)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("searchTransactionsCustom", $args);
	}


	/**
	 * Service Call: searchCustomersCustom
	 * Parameter options:
	 * (ueSecurityToken) Token, (SearchParam[]) Search, (boolean) MatchAll, (integer) Start, (integer) Limit, (string[]) FieldList, (string) Format, (string) Sort
	 * @param mixed,... See function description for parameter options
	 * @return string
	 * @throws Exception invalid function signature message
	 */
	public function searchCustomersCustom($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(array)(boolean)(integer)(integer)(array)(string)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("searchCustomersCustom", $args);
	}


	/**
	 * Service Call: updateCustomer
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) CustNum, (CustomerObject) CustomerData
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function updateCustomer($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(CustomerObject)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("updateCustomer", $args);
	}


	/**
	 * Service Call: updateCustomerPaymentMethod
	 * Parameter options:
	 * (ueSecurityToken) Token, (PaymentMethod) PaymentMethod, (boolean) Verify
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function updateCustomerPaymentMethod($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(PaymentMethod)(boolean)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("updateCustomerPaymentMethod", $args);
	}


	/**
	 * Service Call: updateProduct
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) ProductRefNum, (Product) Product
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function updateProduct($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)(Product)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("updateProduct", $args);
	}


	/**
	 * Service Call: updateProductCategory
	 * Parameter options:
	 * (ueSecurityToken) Token, (string) ProductCategoryRefNum, (ProductCategory) ProductCategory
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function updateProductCategory($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(string)(ProductCategory)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("updateProductCategory", $args);
	}


	/**
	 * Service Call: updateReceipt
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) ReceiptRefNum, (Receipt) Receipt
	 * @param mixed,... See function description for parameter options
	 * @return integer
	 * @throws Exception invalid function signature message
	 */
	public function updateReceipt($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(Receipt)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("updateReceipt", $args);
	}


	/**
	 * Service Call: voidTransaction
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function voidTransaction($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("voidTransaction", $args);
	}


	/**
	 * Service Call: overrideTransaction
	 * Parameter options:
	 * (ueSecurityToken) Token, (integer) RefNum, (string) Reason
	 * @param mixed,... See function description for parameter options
	 * @return boolean
	 * @throws Exception invalid function signature message
	 */
	public function overrideTransaction($mixed = null) {
		$validParameters = array(
			"(ueSecurityToken)(integer)(string)",
		);
		$args = func_get_args();
		$this->_checkArguments($args, $validParameters);
		return $this->__soapCall("overrideTransaction", $args);
	}


}}

?>